home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / cli / MemSpeed2.lha / MemSpeed2.BLOODYREADME! < prev   
Text File  |  1997-06-12  |  5KB  |  109 lines

  1.  
  2. »»»» MemSpeed 2.0 »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  3.  
  4. 02-06-97  20:44
  5.  
  6.  
  7. By Olly Koenders
  8.  
  9. 4/43 Thomas St.
  10. Ringwood, Victoria
  11. Australia.  3134
  12.  
  13. First released on GREMLiNS BBS. »» +61 (03)9870 4393
  14.  
  15. MemSpeed is Freeware and may be distributed far and wide for the benefit of
  16. the Amiga community without charge except for small, unquantifiable amounts
  17. where cost of "magnetic media" is concerned.  Please don't alter the docs as
  18. I like them pretty much too!  Keep them with the executable when in piracy
  19. mode.  Thanks.
  20.  
  21. **** Disclaimer ****
  22.  
  23. I'll NOT be held responsible for any "damage" wrongly attributed to MemSpeed
  24. due to misuse or failure to read instructions.  MemSpeed will NOT impinge
  25. upon or harrass innocent programs, ROM routines or your mothers left foot
  26. 'cos it does exactly the same as the original ROM routine only faster!
  27.  
  28. ----------------------------------------------------------------------------
  29.  
  30. MemSpeed patches the exec.library AllocMem() function and specifically
  31. targets the "MEMF_CLEAR" routine.  When a programmer allocates memory and
  32. specifies it to be cleared with nulls, then instead of the MEMF_CLEAR routine
  33. attempting to fill a given area of memory with nulls (MEGs of it at times)
  34. like this:
  35.  
  36.         ...
  37.         moveq #0,d1
  38.         ...
  39.         ...
  40.         bra.b $fc1812
  41.  
  42. $fc1810 move.l d1,(a0)+  ;fill address in a0 with d1's value ($00000000)
  43. $fc1812 dbra d3,$fc1810  ;do it until d3 = -1
  44.         ...
  45.         ...
  46.  
  47. ...which only clears 4 bytes at a time and the next intruction is nearly
  48. useless.  I patch a routine that clears significantly more per intruction and
  49. all the clearing instructions are head-to-foot.  This allows the clearing
  50. of the allocated memory at about 90% increase in speed (or more depending if
  51. you're running a CPU cache) as compared to the old MEMF_CLEAR routine.
  52.  
  53. Many programmers wrongly allocate memory with the MEMF_CLEAR bit set only to
  54. copy data to it immediately after.  There's no point in doing that as it
  55. only wastes time - though some have their reasons and should know what
  56. they're doing.  In either case MemSpeed reduces their mistakes or otherwise
  57. to about half (so to speak).
  58.  
  59. Applications such as "Audio Engineer" or "DSound" will benefit from this as
  60. they tend to clear the memory either during allocation or before quitting.
  61.  
  62. **** The difference between version 1.0 and this (2.0) release is that I
  63. included the "FragLess" section of code (10 bytes) in the main patch.
  64. MemSpeed is fully aware of the FragLess patch and if FragLess is run before
  65. MemSpeed then MemSpeed will not patch its function - as the FragLess patch
  66. can't be removed - and the same in the reverse situation as they both patch
  67. the same area.  The only way to have the most benefit is to use MemSpeed 2.0
  68. only.  See the docs on FragLess for info on what FragLess actually does.
  69.  
  70. Any program using exec's AllocVec() or AllocEntry() will also be passing
  71. through MemSpeed's patch so the benefits can be seen in more than just one
  72. area overall.
  73.  
  74. MemSpeed MUST be launched from the CLI/Shell only due to it not replying to
  75. messages from the WorkBench task.  If you attach an icon and launch it from
  76. the WorkBench then expect the "Guru" to come visiting within a couple of
  77. nanoseconds.  Note that this also applies to the "WBStartup" drawer as
  78. launching MemSpeed from this location requires an icon to be present also and
  79. will return the same result.  This is the same for all CLI only programs
  80. and is NOT the result of bad programming.
  81.  
  82. MemSpeed needs no arguments or parameters as all it does is insert the patch
  83. which is 268 bytes in size and then quits.  It doesn't leave a "process"
  84. running in the background so there's no wasted processor clock-cycles.  The
  85. most appropriate place for MemSpeed is at the top of the startup-sequence
  86. where it can begin its work early although it can be started at anytime.
  87.  
  88. The patch will never be removed unless a reset or Guru appears (which will
  89. NOT be the fault of MemSpeed!) because there'd be no point in doing it - what
  90. the hell, it's only 268 bytes...
  91.  
  92. If anyone's got bright ideas or would just like to say hello then I'm
  93. contactable at the address at top of doc or on the BBS number provided.
  94.  
  95. Other fast and compact assembler utils by Olly...
  96.  
  97. modCRUSHER - 31 instrument MOD cruncher - pack rate 60 - 85%!  Beats LHArc,
  98.              Lzx, Zip, Zoo, Arj, Imploder 4, PowerPacker 4 hands down!!!
  99.              CLI/WorkBench versions - All Amigas.
  100.  
  101. DoubleTake - Locates and lists duplicate files on any Dos-legal device - a
  102.              space saver for HD's! - All Amigas.
  103.  
  104. WinSpeed   - Speeds up refreshing of intuition/WorkBench windows by up to
  105.              4 times.  Several options mix-and-matchable.
  106.              Some other benefits too.  All Amigas.
  107.  
  108.  
  109.